gtk4.git
5 years agogtk-demo: Speed up image demo
Matthias Clasen [Thu, 22 Oct 2020 04:22:15 +0000 (00:22 -0400)]
gtk-demo: Speed up image demo

The progressive loading demo here was so slow as to appear
broken. Make it faster, and ensure that it updates regularly.

5 years agogtk-demo: Add alternative text to a GtkPicture
Matthias Clasen [Thu, 22 Oct 2020 04:05:50 +0000 (00:05 -0400)]
gtk-demo: Add alternative text to a GtkPicture

This lets us text GtkPicture a11y support.

5 years agopicture: Set alternative text as description
Matthias Clasen [Thu, 22 Oct 2020 04:04:52 +0000 (00:04 -0400)]
picture: Set alternative text as description

Use the alternative text as accessible description
for GtkPicture.

5 years agocolorbutton: Improve accessibility
Matthias Clasen [Thu, 22 Oct 2020 03:54:09 +0000 (23:54 -0400)]
colorbutton: Improve accessibility

Make the swatch not appear selectable, and
set an accessible label on it.

5 years agoa11y: Add actions for color swatches
Matthias Clasen [Thu, 22 Oct 2020 03:34:37 +0000 (23:34 -0400)]
a11y: Add actions for color swatches

Add the same actions that we exported in GTK 3.

5 years agocolorswatch: Export some functions for a11y
Matthias Clasen [Thu, 22 Oct 2020 03:08:04 +0000 (23:08 -0400)]
colorswatch: Export some functions for a11y

Make simple functions to activate, select or customize
a GtkColorSwatch. These will be exported by a11y as
actions.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Thu, 22 Oct 2020 02:52:46 +0000 (02:52 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

See merge request GNOME/gtk!2734

5 years agolinkbutton: Use the LINK role
Matthias Clasen [Thu, 22 Oct 2020 01:54:17 +0000 (21:54 -0400)]
linkbutton: Use the LINK role

It is a bit ambiguous, but I think link buttons are
more links than buttons. See WAI-ARIA for a discussion
of the differences.

Update tests to match.

5 years agoa11y: Document abstract roles
Matthias Clasen [Thu, 22 Oct 2020 01:47:14 +0000 (21:47 -0400)]
a11y: Document abstract roles

Since we mention abstract roles in the documentation
for GtkAccessibleRole, we should say what roles are
abstract. Doing this shows that we actually use two
abstract roles heavily, ourselves: WIDGET and WINDOW.

5 years agoa11y: Document roles used in menu
Matthias Clasen [Thu, 22 Oct 2020 01:40:19 +0000 (21:40 -0400)]
a11y: Document roles used in menu

5 years agoatspi: Give model buttons a click action too
Matthias Clasen [Wed, 21 Oct 2020 23:13:03 +0000 (19:13 -0400)]
atspi: Give model buttons a click action too

GtkModelButton is no longer derived from GtkButton,
but can still treat it like a button for the purposes
of having a click action. This lets ATs activate
menu items again.

5 years agomodelbutton: Recreate our AT context
Matthias Clasen [Thu, 22 Oct 2020 00:28:30 +0000 (20:28 -0400)]
modelbutton: Recreate our AT context

When the button role changes, we want to update the
accessible role to match. Since accessible roles are
unchangeable post-creation of the AT context, we have
to cheat a bit and recreate the whole context.

5 years agomodelbutton: Initial accessibility setup
Matthias Clasen [Wed, 21 Oct 2020 20:35:39 +0000 (16:35 -0400)]
modelbutton: Initial accessibility setup

Set the accessible role to GTK_ACCESSIBLE_ROLE_MENU_ITEM.
This is incomplete, we need to recreate the context when
the buttons role changes, and there are other things that
need to be set.

5 years agopopovermenubar: Initial accessibility setup
Matthias Clasen [Wed, 21 Oct 2020 20:34:16 +0000 (16:34 -0400)]
popovermenubar: Initial accessibility setup

Set roles, properties and relations according to the
ARIA authoring practices document. This is not quite
complete.

5 years agopopovermenu: Initial accessibility setup
Matthias Clasen [Wed, 21 Oct 2020 20:30:04 +0000 (16:30 -0400)]
popovermenu: Initial accessibility setup

Set roles, properties and relations according to the
ARIA authoring practices document.

5 years agomenubutton: initial accessibility setup
Matthias Clasen [Wed, 21 Oct 2020 20:27:23 +0000 (16:27 -0400)]
menubutton: initial accessibility setup

Set roles, properties and relations according to the
ARIA authoring practices document.

5 years agoseparator: Remove unnecessary code
Matthias Clasen [Wed, 21 Oct 2020 20:35:05 +0000 (16:35 -0400)]
separator: Remove unnecessary code

gtk_widget_update_orientation already sets the
accessible property, no need to do it again.

5 years agoprogressbar: Hide internal structure from a11y
Matthias Clasen [Wed, 21 Oct 2020 19:09:55 +0000 (15:09 -0400)]
progressbar: Hide internal structure from a11y

According to section 7.1 of WAI-ARIA, the progressbar role
has the "Children presentational" characteristic, which
indicates that children should not be represented in
the a11y tree.

5 years agolevelbar: Hide internal structure from a11y
Matthias Clasen [Wed, 21 Oct 2020 19:04:06 +0000 (15:04 -0400)]
levelbar: Hide internal structure from a11y

According to section 7.1 of WAI-ARIA, the meter role
has the "Children presentational" characteristic, which
indicates that children should not be represented in
the a11y tree.

5 years agoswitch: Hide internal structure from a11y
Matthias Clasen [Wed, 21 Oct 2020 18:55:13 +0000 (14:55 -0400)]
switch: Hide internal structure from a11y

According to section 7.1 of WAI-ARIA, the switch role
has the "Children presentational" characteristic, which
indicates that children should not be represented in
the a11y tree.

5 years agoscale: Hide internal structure from a11y
Matthias Clasen [Wed, 21 Oct 2020 18:53:17 +0000 (14:53 -0400)]
scale: Hide internal structure from a11y

According to section 7.1 of WAI-ARIA, the slider role
has the "Children presentational" characteristic, which
indicates that children should not be represented in
the a11y tree, which makes sense, since these are all
just internal gizmos.

5 years agoa11y: Treat PRESENTATION like NONE
Matthias Clasen [Wed, 21 Oct 2020 18:40:34 +0000 (14:40 -0400)]
a11y: Treat PRESENTATION like NONE

This is what ARIA tells us to do. NONE is just another
name for PRESENTATION.

5 years agodocs: Add some more to the migration guide
Matthias Clasen [Wed, 21 Oct 2020 18:30:17 +0000 (14:30 -0400)]
docs: Add some more to the migration guide

Expand the section on life-cycle handling with some
more details.

5 years agodocs: Small corrections to the a11y overview
Matthias Clasen [Wed, 21 Oct 2020 18:23:10 +0000 (14:23 -0400)]
docs: Small corrections to the a11y overview

The section titles were mixed up wrt to the content
of the sections.

5 years agoDocument GTK_ACCESSIBLE_ROLE_NONE
Matthias Clasen [Wed, 21 Oct 2020 18:21:12 +0000 (14:21 -0400)]
Document GTK_ACCESSIBLE_ROLE_NONE

We use it for a specific purpose now, so document it.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Wed, 21 Oct 2020 18:09:42 +0000 (18:09 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

Closes #3285

See merge request GNOME/gtk!2733

5 years agotext: React to text attribute changes in css
Matthias Clasen [Wed, 21 Oct 2020 17:46:58 +0000 (13:46 -0400)]
text: React to text attribute changes in css

Recompute the layout when the css style change
affects text attributes. This matches what we do
in GtkLabel, and without this, changing the
font-features-setting css property in the Inspector
does not have immediate effect.

5 years agoMerge branch 'wip/exalm/swipe4' into 'master'
Carlos Garnacho [Wed, 21 Oct 2020 16:20:58 +0000 (16:20 +0000)]
Merge branch 'wip/exalm/swipe4' into 'master'

gestureswipe: Count last event when calculating velocity

See merge request GNOME/gtk!2715

5 years agogestureswipe: Count last event when calculating velocity
Alexander Mikhaylenko [Mon, 19 Oct 2020 09:13:56 +0000 (14:13 +0500)]
gestureswipe: Count last event when calculating velocity

The last event, matching lifting the finger/releasing the mouse button,
is important when there's a large delay between it and the previous events,
as in when performing a movement, stopping, then releasing fingers as
opposed to doing a swipe.

If this event is skipped, doing this will result in kinetic deceleration
matching the previous finger movement, while the expected behavior would
be no deceleration.

See also 5dc6194b98792d937c648835cfadbe64977db443 for a similar fix in
GtkEventControllerScroll.

5 years agocolumnview: Put overshoot underneath the headers
Matthias Clasen [Wed, 21 Oct 2020 12:39:50 +0000 (08:39 -0400)]
columnview: Put overshoot underneath the headers

This matches what we do in GtkTreeView.

Fixes: #3285
5 years agorange: Hide internals from accessibility
Matthias Clasen [Wed, 21 Oct 2020 12:00:09 +0000 (08:00 -0400)]
range: Hide internals from accessibility

The nameless, faceless gizmos inside a range do not
contribute to the accessible experience at all, lets
not add them to the tree. All the accessible functionality
is on the main widget (either a scale or a scrollbar).

5 years agoCosmetics
Matthias Clasen [Wed, 21 Oct 2020 11:59:56 +0000 (07:59 -0400)]
Cosmetics

5 years agoframe: Set up accessible relations
Matthias Clasen [Wed, 21 Oct 2020 03:30:35 +0000 (23:30 -0400)]
frame: Set up accessible relations

Mark the child as labelled-by the label.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Wed, 21 Oct 2020 11:43:58 +0000 (11:43 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Matthiasc/for master

See merge request GNOME/gtk!2729

5 years agoMerge branch 'wip/exalm/nullable' into 'master'
Timm Bäder [Wed, 21 Oct 2020 08:17:45 +0000 (08:17 +0000)]
Merge branch 'wip/exalm/nullable' into 'master'

widget: Add missing (nullable) on binding functions

See merge request GNOME/gtk!2730

5 years agowidget: Add missing (nullable) on binding functions
Alexander Mikhaylenko [Tue, 20 Oct 2020 11:26:17 +0000 (16:26 +0500)]
widget: Add missing (nullable) on binding functions

Even though they are marked as (skip), they are used in Vala and have wrong
types there atm.

5 years agodocs: Document more accessible roles
Matthias Clasen [Wed, 21 Oct 2020 03:19:30 +0000 (23:19 -0400)]
docs: Document more accessible roles

Document that GtkText is skipped in accessibility.

5 years agoCosmetics
Matthias Clasen [Wed, 21 Oct 2020 03:19:18 +0000 (23:19 -0400)]
Cosmetics

Typo fix.

5 years agodocs: Document more accessible roles
Matthias Clasen [Wed, 21 Oct 2020 03:09:11 +0000 (23:09 -0400)]
docs: Document more accessible roles

GtkColumnView and its various components use a lot
of accessible roles.

5 years agodocs: Document more accessible roles
Matthias Clasen [Wed, 21 Oct 2020 02:53:30 +0000 (22:53 -0400)]
docs: Document more accessible roles

GtkListView and GtkGridView were missing this as well.

5 years agodocs: Document accessible roles of some classes
Matthias Clasen [Wed, 21 Oct 2020 02:51:11 +0000 (22:51 -0400)]
docs: Document accessible roles of some classes

GtkListBox and GtkFlowBox were missing this.

5 years agoa11y: Add some more tests
Matthias Clasen [Wed, 21 Oct 2020 02:44:24 +0000 (22:44 -0400)]
a11y: Add some more tests

5 years agoinspector: Show accessible object path
Matthias Clasen [Wed, 21 Oct 2020 01:56:54 +0000 (21:56 -0400)]
inspector: Show accessible object path

Show the object path of the object on the a11y bus,
this is can be useful information. While we are here,
make sure that the Inspector does not throw criticals
when used with GTK_NO_A11Y=1.

5 years agoatsi: Fix emission of text selection changes
Matthias Clasen [Wed, 21 Oct 2020 01:31:23 +0000 (21:31 -0400)]
atsi: Fix emission of text selection changes

We were not emitting text-selection-changed and
text-caret-moved as expected.

5 years agoa11y: Fix handling of LABELLED_BY relation
Matthias Clasen [Wed, 21 Oct 2020 01:27:39 +0000 (21:27 -0400)]
a11y: Fix handling of LABELLED_BY relation

There were several places where we were confusing
GList and GSList and list->data and list->next, causing
a crash in the accessible name computation for buttons
with mnemonic labels.

5 years agodocs: Mention subclassing and destroy in the migration guide
Matthias Clasen [Tue, 20 Oct 2020 22:26:38 +0000 (18:26 -0400)]
docs: Mention subclassing and destroy in the migration guide

Mention changes regarding subclassing and life-cycle
handling in the migration guide.

5 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Tue, 20 Oct 2020 14:05:49 +0000 (14:05 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

Wip/otte/for master

Closes #3280

See merge request GNOME/gtk!2725

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Tue, 20 Oct 2020 05:57:45 +0000 (05:57 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Some more a11y tests

See merge request GNOME/gtk!2726

5 years agoa11y: Add tests for GtkFlowBox
Matthias Clasen [Tue, 20 Oct 2020 05:12:20 +0000 (01:12 -0400)]
a11y: Add tests for GtkFlowBox

Test that roles, states and properties are as expected.

5 years agoa11y: Add tests for GtkListBox
Matthias Clasen [Tue, 20 Oct 2020 05:07:13 +0000 (01:07 -0400)]
a11y: Add tests for GtkListBox

Test that roles, states and properties are as expected.

5 years agoa11y: Add tests for GtkStack and GtkStackSwitcher
Matthias Clasen [Tue, 20 Oct 2020 04:46:07 +0000 (00:46 -0400)]
a11y: Add tests for GtkStack and GtkStackSwitcher

Test that the roles, states and relations are
as expected.

5 years agoa11y: Add a test for label properties
Matthias Clasen [Tue, 20 Oct 2020 04:24:26 +0000 (00:24 -0400)]
a11y: Add a test for label properties

Now that we set the label property, we should test it too.

5 years agogtk: Remove unused header include
Benjamin Otte [Tue, 20 Oct 2020 02:21:34 +0000 (04:21 +0200)]
gtk: Remove unused header include

gtkcssnodeprivate.h was mainly used for repositioning CSS nodes in
gadgets, and gadgets are gone now.

5 years agoentry: Keep widget order
Benjamin Otte [Tue, 20 Oct 2020 02:05:52 +0000 (04:05 +0200)]
entry: Keep widget order

... instead of just ordering the CSS nodes.

5 years agoflowbox: Keep widget order
Benjamin Otte [Tue, 20 Oct 2020 02:00:56 +0000 (04:00 +0200)]
flowbox: Keep widget order

... instead of just ordering the CSS nodes.

5 years agolistbox: Reorder the widgets when sorting
Benjamin Otte [Tue, 20 Oct 2020 01:56:30 +0000 (03:56 +0200)]
listbox: Reorder the widgets when sorting

... instead of just reordering the CSS nodes.

5 years agolistitemwidget: Remove unnecessary code
Benjamin Otte [Tue, 20 Oct 2020 01:54:07 +0000 (03:54 +0200)]
listitemwidget: Remove unnecessary code

gtk_widget_insert_after() reorders CSS nodes properly.

5 years agonotebook: Remove unnecessary code
Benjamin Otte [Tue, 20 Oct 2020 01:52:51 +0000 (03:52 +0200)]
notebook: Remove unnecessary code

gtk_widget_insert_after() reorders CSS nodes properly.

Also fix page reordering code to actually reorder the widget instead of
just the CSS nodes.

5 years agobox: Remove unnecessary code
Benjamin Otte [Mon, 19 Oct 2020 23:51:58 +0000 (01:51 +0200)]
box: Remove unnecessary code

gtk_widget_insert_after() reorders CSS nodes properly.

5 years agowidget: Always update the CSS node
Benjamin Otte [Mon, 19 Oct 2020 23:50:12 +0000 (01:50 +0200)]
widget: Always update the CSS node

Anybody who keeps their own CSS nodes around or wants to order CSS nodes
different from widgets will from now on have to do it manually all the
time.

This is outdated behavior, nobody should be doing either of those two
things.

Also, the correct case is much more common, and not doing it
automatically was causing bugs.

Fixes #3280

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Tue, 20 Oct 2020 01:45:17 +0000 (01:45 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Some a11y docs and fixes

See merge request GNOME/gtk!2724

5 years agoa11y: Fix accessible tree inconsistency
Matthias Clasen [Tue, 20 Oct 2020 01:13:27 +0000 (21:13 -0400)]
a11y: Fix accessible tree inconsistency

The stack page objects were not properly integrated
in the accessible tree - they were appearing as parent
of the pages when navigating up, but not as children
of the stack when navigating down.

5 years agostack: Minor doc addition
Matthias Clasen [Tue, 20 Oct 2020 01:15:08 +0000 (21:15 -0400)]
stack: Minor doc addition

5 years agodocs: Flesh out a11y section
Matthias Clasen [Tue, 20 Oct 2020 00:01:57 +0000 (20:01 -0400)]
docs: Flesh out a11y section

Add some advice for making custom widgets accessible.

5 years agoMerge branch 'wip/chergert/fix-macos-surface-under-pointer' into 'master'
Matthias Clasen [Mon, 19 Oct 2020 21:26:47 +0000 (21:26 +0000)]
Merge branch 'wip/chergert/fix-macos-surface-under-pointer' into 'master'

macos: fix discovery of surface under pointer

See merge request GNOME/gtk!2722

5 years agoMerge branch 'ebassi/for-master' into 'master'
Emmanuele Bassi [Mon, 19 Oct 2020 20:26:57 +0000 (20:26 +0000)]
Merge branch 'ebassi/for-master' into 'master'

Ebassi/for master

See merge request GNOME/gtk!2720

5 years agoMerge branch 'a11y/editable' into 'master'
Matthias Clasen [Mon, 19 Oct 2020 20:16:21 +0000 (20:16 +0000)]
Merge branch 'a11y/editable' into 'master'

Improve the accessible support for editables

See merge request GNOME/gtk!2719

5 years agomacos: fix discovery of surface under pointer
Christian Hergert [Mon, 19 Oct 2020 18:24:34 +0000 (11:24 -0700)]
macos: fix discovery of surface under pointer

5 years agoa11y: Tweak name and description computation
Matthias Clasen [Mon, 19 Oct 2020 18:58:34 +0000 (14:58 -0400)]
a11y: Tweak name and description computation

Instead of falling back to the role nick for both,
fall back to the class name for the name, and to
the empty string for the description. This makes
labels show up in Accerciser the same way they
did in GTK 3, and seems more useful to me than
the alternative.

5 years agoatspi: Use name and description as provided
Matthias Clasen [Mon, 19 Oct 2020 18:57:43 +0000 (14:57 -0400)]
atspi: Use name and description as provided

GtkATContext already does fallbacks to derive values
for these, so no need for the atspi implementation to
do its own fallback on top of that.

5 years agolabel: Set the accessible label property
Matthias Clasen [Mon, 19 Oct 2020 18:28:32 +0000 (14:28 -0400)]
label: Set the accessible label property

This will make label text show up in ATs again.

5 years agodocs: Add a section on a11y patterns
Emmanuele Bassi [Mon, 19 Oct 2020 17:39:40 +0000 (18:39 +0100)]
docs: Add a section on a11y patterns

5 years agodocs: Start outlining a11y authoring practices
Emmanuele Bassi [Mon, 19 Oct 2020 17:37:30 +0000 (18:37 +0100)]
docs: Start outlining a11y authoring practices

We should have documentation for application developers and widget
authors, so they can deal with the new accessibility API.

5 years agoa11y: Rename some methods
Matthias Clasen [Mon, 19 Oct 2020 16:58:29 +0000 (12:58 -0400)]
a11y: Rename some methods

Our EditableText implementation works fine for any
editable, so don't name the functions in a way that
looks like they are only for entries.

5 years agogtk-demo: Set an accessible role
Matthias Clasen [Mon, 19 Oct 2020 16:56:50 +0000 (12:56 -0400)]
gtk-demo: Set an accessible role

Set the expected accessible role on the tagged entry
widget in the demo of the same name. Accessible tools
may decide to ignore widgets that have the wrong role,
so setting an appropriate role is important.

5 years agoMerge branch 'a11y/component' into 'master'
Matthias Clasen [Mon, 19 Oct 2020 16:54:45 +0000 (16:54 +0000)]
Merge branch 'a11y/component' into 'master'

a11y: Implement Component

See merge request GNOME/gtk!2718

5 years agoa11y: Rework accessible name/description computation
Emmanuele Bassi [Fri, 16 Oct 2020 16:03:50 +0000 (17:03 +0100)]
a11y: Rework accessible name/description computation

The ARIA spec determines the name and description of accessible elements
in a more complex way that simply mapping to a single property; instead,
it will chain up multiple definitions (if it finds them). For instance,
let's assume we have a button that saves a file selected from a file
selection widget; the widgets have the following attributes:

 - the file selection widget has a "label" attribute set to the
   selected file, e.g. "Final paper.pdf"
 - the "download" button has a "label" attribute set to the
   "Download" string
 - the "download" button has a "labelled-by" attribute set to
   reference the file selection widget

The ARIA spec says that the accessible name of the "Download" button
should be computed as "Download Final paper.pdf".

The algorithm defined in section 4.3 of the WAI-ARIA specification
applies to both accessible names (using the "label" and "labelled-by"
attributes), and to accessible descriptions (using the "description" and
"described-by" attributes).

5 years agoatspi: Implement Text for more editables
Matthias Clasen [Mon, 19 Oct 2020 16:44:50 +0000 (12:44 -0400)]
atspi: Implement Text for more editables

Our Text implementation requires that we have
a GtkEditable with a delegate that is a GtkText
widget.

This change make the Text implementation work for
the custom widget in the tagged entry demo.

5 years agoUpdate Croatian translation
Goran Vidović [Mon, 19 Oct 2020 16:36:42 +0000 (16:36 +0000)]
Update Croatian translation

(cherry picked from commit fab2558747ace63ee656257f7001f81b3c6b9b49)

5 years agoAdd gtk_editable_get_delegate
Matthias Clasen [Mon, 19 Oct 2020 16:36:54 +0000 (12:36 -0400)]
Add gtk_editable_get_delegate

We need access to the delegate in the a11y layer,
so we might as well make this function public.

5 years agoatspi: Emit bounds-changed
Matthias Clasen [Mon, 19 Oct 2020 15:45:21 +0000 (11:45 -0400)]
atspi: Emit bounds-changed

This is using the new bounds_change vfunc in GtkATContext.

5 years agowidget: Mark the size as changed when it changes
Matthias Clasen [Wed, 14 Oct 2020 01:20:08 +0000 (21:20 -0400)]
widget: Mark the size as changed when it changes

This notifies the AT context that the widgets size
has changed.

5 years agoa11y: Add bounds change api
Matthias Clasen [Mon, 19 Oct 2020 15:33:38 +0000 (11:33 -0400)]
a11y: Add bounds change api

Add a way for GTK to pass bounds change information
to the AT context.

5 years agoatspi: Implement Component
Matthias Clasen [Wed, 14 Oct 2020 01:23:22 +0000 (21:23 -0400)]
atspi: Implement Component

Implement the non-questionable parts of the Component interface
for accessibles which are widgets.

This does not include:
 - global coordinates
 - setters
 - scrolling
 - alpha, layers, zorder, and the like

5 years agoa11y: Add a separate vfunc for platform changes
Matthias Clasen [Mon, 19 Oct 2020 15:19:57 +0000 (11:19 -0400)]
a11y: Add a separate vfunc for platform changes

The state_change vfunc is becoming unwieldy. Lets move
the platform changes to their own vfunc, as a start.

5 years agoatspi: Be more careful
Matthias Clasen [Mon, 19 Oct 2020 15:55:44 +0000 (11:55 -0400)]
atspi: Be more careful

We have non-widget accessibles now, so guard against
change notification being emitted on them.

5 years agoCosmetics
Matthias Clasen [Mon, 19 Oct 2020 16:08:47 +0000 (12:08 -0400)]
Cosmetics

Add some more fold markers.

5 years agoCosmetics
Matthias Clasen [Mon, 19 Oct 2020 16:00:53 +0000 (12:00 -0400)]
Cosmetics

5 years agoCosmetics
Matthias Clasen [Mon, 19 Oct 2020 15:24:09 +0000 (11:24 -0400)]
Cosmetics

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Mon, 19 Oct 2020 15:00:17 +0000 (15:00 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Various columnview fixes

Closes #3265, #3272, and #3276

See merge request GNOME/gtk!2717

5 years agoMerge branch 'msvc' into 'master'
Xavier Claessens [Mon, 19 Oct 2020 13:46:54 +0000 (13:46 +0000)]
Merge branch 'msvc' into 'master'

gdkglcontext: Fix build with MSVC

Closes #3268

See merge request GNOME/gtk!2713

5 years agoMerge branch 'annotations_gtkaboutdialog' into 'master'
Matthias Clasen [Mon, 19 Oct 2020 13:46:32 +0000 (13:46 +0000)]
Merge branch 'annotations_gtkaboutdialog' into 'master'

Add nullable return annotations in GtkAboutDialog

See merge request GNOME/gtk!2712

5 years agoAdd nullable return annotations in GtkAboutDialog
Sophie Herold [Mon, 19 Oct 2020 13:46:32 +0000 (13:46 +0000)]
Add nullable return annotations in GtkAboutDialog

5 years agocolumnview: Make right-aligned content work
Matthias Clasen [Mon, 19 Oct 2020 12:42:33 +0000 (08:42 -0400)]
columnview: Make right-aligned content work

Make right-aligned content work in resized columns.
There is currently no way to make a title right-aligned,
but we can still make it work correctly. This is a follow
up to 7eb0ae39c5549bfaa4e.

Fixes: #3276
5 years agoAdwaita: Put column separators on the left
Matthias Clasen [Mon, 19 Oct 2020 13:37:20 +0000 (09:37 -0400)]
Adwaita: Put column separators on the left

When resizing columns, we clip a shrunk column
on the right, so the separator disappears in that
case unless we put it on the left side of the other
column.

5 years agogdkglcontext: Fix build with MSVC
Xavier Claessens [Sun, 18 Oct 2020 21:14:22 +0000 (17:14 -0400)]
gdkglcontext: Fix build with MSVC

GLDEBUGPROC callback is defined with APIENTRY which is a windows
specific calling convention. That macro expands to nothing when building
on other platforms.

Fixes: #3268.
5 years agocolumview: Make resize area a bit larger
Matthias Clasen [Mon, 19 Oct 2020 12:22:28 +0000 (08:22 -0400)]
columview: Make resize area a bit larger

This make column resizing feel less like a game
of hit-and-miss. Ultimatively, we should add an
alternative to this.

5 years agocolumview: Implement double-click to reset headers
Matthias Clasen [Mon, 19 Oct 2020 02:34:07 +0000 (22:34 -0400)]
columview: Implement double-click to reset headers

Implement the same behavior as GtkTreeView:
double-click on the header boundary resets the
header to its automatic width.

Fixes: #3272
5 years agocolumnview: Make resize cursors reliable
Matthias Clasen [Mon, 19 Oct 2020 12:28:24 +0000 (08:28 -0400)]
columnview: Make resize cursors reliable

Ensure that the column resize cursor stays in place
for the duration of the resize drag. This is a bit
annoying, since the implicit grab can end up on the
header of a different column from the one we are
resizing, so just set the cursor on all column headers.

5 years agocolumnview: Fix more issues with column resizing
Matthias Clasen [Mon, 19 Oct 2020 12:27:35 +0000 (08:27 -0400)]
columnview: Fix more issues with column resizing

Make it so that for overlapping resize rectangles (with
very narrow columns), we prefer the narrow column, so you
can regrow a column after shrinking it all the way.

Related: #3274